
async function async1(){
    console.log('async1 start---2') // 第二步执行

    await async2()

    console.log('async1 end---5') // 第五步执行
}


async function async2(){
    console.log('async2---3') // 第三步执行
}



console.log('script start---1') // 第一步执行

async1()

console.log('script end---4')  // 第四步执行


/*
 async 函数返回一个 Promise 对象，当函数执行的时候，
 一旦遇到 await 就会先返回，等到触发的异步操作完成，
 再执行函数体内后面的语句。可以理解为，
 是让出了线程，跳出了 async1 函数体。

 await的含义为等待，
 也就是 async1 函数需要等待await后的函数执行完成
 并且有了返回结果（Promise对象）之后，才能继续执行下面的代码。
 */